home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Applications / Eudora 1.3.1 / source / MyDefs.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-16  |  6.9 KB  |  200 lines  |  [TEXT/MPS ]

  1. /* Copyright (c) 1990-1992 by the University of Illinois Board of Trustees */
  2. /**********************************************************************
  3.  * This file contains important things common to all source files
  4.  **********************************************************************/
  5. #pragma load SYS_LOAD
  6.  
  7. /**********************************************************************
  8.  * a pointer into nowhere
  9.  **********************************************************************/
  10. #ifndef nil
  11. #define nil ((long)0)
  12. #endif
  13.  
  14. /**********************************************************************
  15.  * make dealing with handles a little less unpleasant
  16.  **********************************************************************/
  17. #define LDRef(aHandle)    (HLock((aHandle)),*(aHandle))
  18. #define UL(aHandle)         HUnlock((aHandle))
  19. #define New(aType)        ((aType *)NuPtr(sizeof(aType)))
  20. #define NewH(aType)     ((aType **)NuHandle(sizeof(aType)))
  21. #define NewZH(aType)     ((aType **)NewZHandle(sizeof(aType)))
  22. #define ZapHandle(aHandle)    do{DisposHandle(aHandle);aHandle=nil;}while(0)
  23. #define ZapPtr(aPtr)    do{DisposPtr(aPtr);aPtr=nil;}while(0)
  24.  
  25. /************************************************************************
  26.  * repeat ten times: "I hate the Memory Manager."
  27.  ************************************************************************/
  28. #define OFFSET_RECT(tangle,dh,dv) do {                                                                    \
  29.     Rect r = *(tangle);                                                                                                     \
  30.     OffsetRect(&r,dh,dv);                                                                                                 \
  31.     *(tangle) = r;                                                                                                                \
  32.     } while (0)
  33. #define INSET_RECT(tangle,dh,dv) do {                                                                     \
  34.     Rect r = *(tangle);                                                                                                     \
  35.     InsetRect(&r,dh,dv);                                                                                                    \
  36.     *(tangle) = r;                                                                                                                \
  37.     } while (0)
  38. #define SET_RECT(tangle,lf,tp,rt,bt) do {                                                             \
  39.     Rect r = *(tangle);                                                                                                     \
  40.     SetRect(&r,lf,tp,rt,bt);                                                                                            \
  41.     *(tangle) = r;                                                                                                                \
  42.     } while (0)
  43. #define INVAL_RECT(tangle) do {                                                                                 \
  44.     Rect r = *(tangle);                                                                                                     \
  45.     InvalRect(&r);                                                                                                                \
  46.     } while (0)
  47. #define VALID_RECT(tangle) do {                                                                                 \
  48.     Rect r = *(tangle);                                                                                                     \
  49.     ValidRect(&r);                                                                                                                \
  50.     } while (0)
  51. #define ERASE_RECT(tangle) do {                                                                                 \
  52.     Rect r = *(tangle);                                                                                                     \
  53.     EraseRect(&r);                                                                                                                \
  54.     } while (0)
  55. #define FRAME_RECT(tangle) do {                                                                                 \
  56.     Rect r = *(tangle);                                                                                                     \
  57.     FrameRect(&r);                                                                                                                \
  58.     } while (0)
  59.  
  60. /**********************************************************************
  61.  * some #defines that don't seem to belong anywhere else
  62.  **********************************************************************/
  63. #define TRUE    true
  64. #define FALSE false
  65. #define True    true
  66. #define False false
  67. #define ENVIRONS_VERSION 2    /* the version of SysEnvirons we expect */
  68. #define InFront ((UPtr)-1) /* for window creation */
  69. #define INFINITY 32766        /* infinity, more or less */
  70. #define FSFCBLen (*(short *)0x3f6)
  71. #define TheMenu (*(short *)0xa26)
  72. #define TABKEY 9
  73. #define CANCEL_ITEM         (-1)
  74. #define MIN(x,y)                (((x) < (y)) ? (x) : (y))
  75. #define MAX(x,y)                (((x) < (y)) ? (y) : (x))
  76. #define ABS(x)                    ((x)<0 ? -(x) : (x))
  77. #define GROW_SIZE 15
  78. #define MAX_DEPTH 20        /* max depth for alias tree */
  79. #define fInited (1<<8)    /* why doesn't apple define this? */
  80. #define userCancelled     -29999 /* user cancelled tcp operations */
  81. #define IsWhite(c)            (c==' ' || c=='\t')
  82. #define K *1024
  83. #define MAX_ALIAS 200
  84. #define SAVE_PORT                GrafPtr oldPort = qd.thePort
  85. #define REST_PORT                SetPort(oldPort)
  86. #ifdef DEBUG
  87. #define CHECKPOINT do{SpinSpot = __LINE__;}while(0)
  88. #define DBLINE do{Str255 s;DebugStr(ComposeString(s,"\p%s %d;hc;sc;g",__FILE__,__LINE__));}while(0)
  89. #define ASSERT(expr) do{if (!(expr) && RunType!=Production) {Str255 s;DebugStr(ComposeString(s,"\passertion failed: " #expr ", %s:%d",__FILE__,__LINE__));}}while(0)
  90. #else
  91. #define CHECKPOINT
  92. #define DBLINE
  93. #define ASSERT(expr)
  94. #endif
  95. #define SPARE_SIZE        ((long)40*1024)
  96. #define MEM_CRITICAL    ((long)8*1024)
  97.  
  98. /************************************************************************
  99.  * transport mechanisms
  100.  ************************************************************************/
  101. typedef struct
  102. {
  103.     int (*vConnectTrans)();             /* UPtr serverName, short port */
  104.     int (*vSendTrans)();                    /* short count, UPtr text,long size, ... */
  105.     int (*vRecvTrans)();                    /* UPtr line,long *size */
  106.     int (*vDisTrans)();                     /* void */
  107.     int (*vDestroyTrans)();             /* void */
  108.     int (*vTransError)();                 /* void */
  109.     void (*vSilenceTrans)();            /* Boolean silence */
  110.     int (*vSendWDS)();                        /* wdsEntry *theWDS */
  111.     unsigned char * (*vWhoAmI)(); /* Uptr who */
  112.     int (*vRecvLine)();                     /* UPtr line,long *size */
  113. } TransVector;
  114.  
  115. #define ConnectTrans (*CurTrans.vConnectTrans)
  116. #define SendTrans (*CurTrans.vSendTrans)
  117. #define RecvTrans (*CurTrans.vRecvTrans)
  118. #define DisTrans (*CurTrans.vDisTrans)
  119. #define DestroyTrans (*CurTrans.vDestroyTrans)
  120. #define TransError (*CurTrans.vTransError)
  121. #define SilenceTrans (*CurTrans.vSilenceTrans)
  122. #define SendWDS (*CurTrans.vSendWDS)
  123. #define WhoAmI (*CurTrans.vWhoAmI)
  124. #define RecvLine (*CurTrans.vRecvLine)
  125. /**********************************************************************
  126.  * some handy types
  127.  **********************************************************************/
  128. typedef enum {Single, Double, Triple} ClickEnum;
  129. typedef enum {
  130.     MBOX_WIN=userKind+1,
  131.     CBOX_WIN,COMP_WIN,ALIAS_WIN,MESS_WIN,FIND_WIN,PH_WIN,TEXT_WIN,MB_WIN
  132. }WKindEnum;
  133. typedef unsigned char *UPtr, **UHandle, *PStr, *CStr;
  134. #define Uptr UPtr
  135. #define Uhandle UHandle
  136. typedef unsigned short uShort;
  137. typedef unsigned long uLong;
  138. typedef enum {Production, Debugging, Steve} RunTypeEnum;
  139. typedef unsigned char Str127[128];
  140.  
  141. #include "numcode.h"
  142. #include "MyRes.h"
  143. #include "StringDefs.h"
  144. #include "cursor.h"
  145. #include "progress.h"
  146. #include "mywindow.h"
  147. #include "scrollte.h"
  148. #include "modeless.h"
  149. #include "ends.h"
  150. #include "functions.h"
  151. #include "inet.h"
  152. #include "lineio.h"
  153. #include "mailbox.h"
  154. #include "boxact.h"
  155. #include "main.h"
  156. #include "message.h"
  157. #include "messact.h"
  158. #include "comp.h"
  159. #include "compact.h"
  160. #include "sendmail.h"
  161. #include "pop.h"
  162. #include "tcp.h"
  163. #include "ctb.h"
  164. #include "menu.h"
  165. #include "shame.h"
  166. #include "sort.h"
  167. #include "tefuncs.h"
  168. #include "util.h"
  169. #include "fileutil.h"
  170. #include "winutil.h"
  171. #include "nickwin.h"
  172. #include "nickexp.h"
  173. #include "undo.h"
  174. #include "find.h"
  175. #include "text.h"
  176. #include "Globals.h"
  177. #include "mytcp.h"
  178. #include "address.h"
  179. #include "print.h"
  180. #include "nickmng.h"
  181. #include "binhex.h"
  182. #include "hexbin.h"
  183. #include "ph.h"
  184. #include "utl.h"
  185. #include "prefs.h"
  186. #include "mbwin.h"
  187. #include "buildtoc.h"
  188. #include "squish.h"
  189. #include "uudecode.h"
  190. #include "uupc.h"
  191. #include "md5.h"
  192. #include "lmgr.h"
  193. #include "log.h"
  194. #include "unload.h"
  195.  
  196. typedef struct {short flags;uLong prefSize;uLong minSize} SizeRec,*SizePtr,**SizeHandle;
  197.  
  198. #pragma dump EUDORA_LOAD
  199.  
  200.